import axios from 'axios';

export const request = axios.create({
  baseURL: 'https://conduit.productionready.io'
});

// 通过插件机制获取到上下文对象
// 插件如果是函数必须作为 default 导出
export default ({ store }) => {
  // 请求拦截器
  // 任何请求都要经过请求拦截器
  // 可以在请求拦截器中做一些公共的业务处理 例如：统一设置token
  request.interceptors.request.use((config) => {
    const { user } = store.state;
    if (user && user.token)
      config.headers.Authorization = `Token ${user.token}`

    // 最后一定要返回请求的配置对象 config
    return config;
  }, (error) => {
    // 如果请求失败（此时请求还未发出）
    return Promise.reject(error);
  });

  // 响应拦截器
}